The present invention teaches a cryptology system using mathematical structures including crossed-inverse quasigroups or similar mathematical structures.
Cryptosystems often use a mapping, f, from the plaintext message segment, M, to a ciphertext segment, C. A parameter E is the cryptographic enciphering “key”. Here f is the enciphering algorithm that generates C from M and E. Thus,C=f(M,E).
The message is decrypted according to a mapping g using a decryption parameter. D is the deciphering key, which may or may not be the same as the enciphering key E, and g is the deciphering algorithm that recovers the original message M from the received enciphered message C and the deciphering key D. Hence M=g(C,D). In a stream cipher, these can be “small” functions. The message is divided into segments, Mk, and a stream of key, Ek, is generated.
The sender computes the stream Ck=f(Mk, Ek)
The recipient generates or stores the stream Dk and decodes Mk=g(Ck, Dk).
Many times, the cryptological algorithms are made public. The security against unauthorized reception is in the key stream, Ek. The mutual information between Mk and Ek should be sufficiently small that the message cannot be determined by statistical methods. Alternately, the space from which Ek is selected can be too large to be searched.
For a public key system, the objects are from very large sets, e.g., 128 bits which has 2128≈3.4×1038 elements in the set.
The public knows the function f. The encryption key, E, is distributed. A message sender computes and transmits C =f(M, E), and transmits E if it is randomly generated. In this case, the owner of the system also has g and either has D or has an algorithm to generate D from E. The owner then computes g(C, D) to recover M.
The security of such a system is based on the difficulty of inverting the function f, without additional information that is known only to the owner.
Nearly all public key cryptosystems are based on finite algebra which is both associative and commutative. The associative property can be described as (a ∘b)∘c=a ∘(b ∘c), where ∘ means any associative arithmetic operation for all a, b, and c in the algebra. The commutative property also holds that a ∘b=b ∘a for all a and b in the algebra.
The kind of algebra used in existing systems includes, for example, 1) integer arithmetic, modulo an integer, 2) finite fields, and 3) the arithmetic of elliptic curves. All of these are associative and commutative algebras.
An associative arithmetic operation has the property that serial encryption using that operation results in no more security than a single encryption. Two successive 64-bit encryptions, for example, use 128 bits, but in associative arithmetic this is merely equivalent to another 64 bit. encryption.